
(レポート) DAT202: AWSのデータベース機能を理解する
こんにちは。オペ部の半瀬です。
はじめに
AWS re:Invent 2015 盛り上がっていますね。弊社ブログではアドバンスト以上のセッションレベルでの記事が(現時点で)多くあげられていますが、セッションレベル初級 (200) で導入編を取り扱うセッションもあります。 (コチラでレベルごとのセッション一覧をひっぱれます。)
今回は、AWSのマネージドデータベースサービスについて、特徴/利点を改めて整理をしているセッションです。
タイトル:目次(Slide 5/74)
タイトル:(DAT202) Managed Database Options on AWS (弊社訳:AWSのデータベース機能を理解する) 目次: ・なぜマネージドデータベースサービスなのか ・AWS マネージドデータベース ・DynamoDB - non-relational managed database ・RDS - relational managed database ・ElastiCache - managed in-memoru cache ・RedShift - managed data warehouse ・SQL vs NoSQL ・利用例とまとめ
なぜマネージドデータベースサービスなのか(Slide 6-12/74)
(※以下、スライドの要約です。)
・もしオンプレミスでデータベースを用意するとしたら、こんなにたくさんのやることがあります。
・ハードウェア、OS、セキュリティ、また、それらのアップデート、バックアップなどの問題を解決しなければなりません。
・もしEC2をデータベースとして使用するとしたら、一部はAWSに任せることができますが、まだいくつかのことは手元に残り対処しなければなりません。
・ハードウェア、OSインストールには心配しなくてもよくなりますが、データベースレベルの事柄には、まだ気を配らなければなりません。アップデート、パッチ、レプリケーション、バックアップなどがそれです。
・もしフルマネージドデータベースを選択したとしたら、、あなたはアプリケーションのことのみ考えるだけで良いでしょう。
・バックアップやレプリケーションその他、パッチやアップデートにも煩わされることななくなるでしょう。
AWS マネージドデータベース(Slide 13-/74)
SQL vs NoSQL(Slide 16-17/74)
<NoSQL> ・スキーマレス、読み書きし易い、シンプルなデータモデルに適する ・スケールし易い ・あらゆるスケールでパフォーマンスと可用性に焦点をあてている <SQL> ・強いスキーマ、複雑な関係性、トランザクションとjoin ・スケールし難い ・スケールと可用性よりも、一貫性に焦点を当てている
DynamoDB - non-relational managed database(Slide 18-26/74)
・Amazon DynamoDBとは?
・NoSQL database、フルマネージド、一桁ミリ秒のレイテンシ、大規模かつシームレスなスケーラビリティ、低コスト
・よくあるユースケース
・堅実な耐久性と可用性を自動レプリケーションによって実現
・想定スループットに対して要求されるパフォーマンスを定義することができる
※ Write capacity units / Read capacity units
・使った分だけお支払い
RDS - relational managed databas(Slide 27-37/74)
・Amazon RDSとは?
・リレーショナルデータベース、フルマネージド、予測可能なパフォーマンス、シンプルで素早いスケール、低コスト
・よくあるユースケース
・RDS Feature Matrix
・Amazon Aurora: 高速、可用性、MySQL互換
・同じハードウェア上で、MySQLの5倍の速度
・SysBentch: 100K[write/sec],500K[reads/sec]
・99.99%の可用性
・3つのAZにまたがり、6つのレプリケート
・64TByteまで拡張可能、リードレプリカは15まで用意できる
・Multi-AZデプロイによる高い可用性:プロダクションのDBにエンタプライズグレードのフォールトトレランスを提供
・クロスリージョンレプリケーション:データ局所性の解消やより簡易なデータマイグレーションに
・ディザスタリカバリ
・データを顧客により近い場所に
・使った分だけお支払い
ElastiCache - managed in-memoru cache(Slide 38-43/74)
・Amazon ElastiCacheとは?
・インメモリなKVS、ハイパフォーマンス、memcachedとRedis、フルマネージド(zero admin)
・よくあるユースケース
・データベースキャッシュとして:パフォーマンス/コスト最適化を実現する
・エフェメラルなキーバリューストアとして
・高いパフォーマンスを要求されるアプリに:リーダーボード、セッションマネージメント、イベントカウンター
・Memcahed , Redis の選択
・ElastiCacheのお支払い
RedShift - managed data warehouse(Slide 44-53/74)
・Amazon Redshiftとは?
・リレーショナルデータウェアハウス:早く、安く、沢山の単純なデータを
・大規模な並列処理(PetaByteでスケール)、フルマネージド、HDD&SSDプラットフォーム、$1,000/TB/year($0.25/hours〜から)
・よくあるユースケース
・リーダーノード
・SQLエンドポイント、メタデータを格納、クエリ最適化、クエリ実行プランを調整
・コンピューティングノード
・SQLを実行し中間結果を保持する、並列分散処理(クエリ、ロード、バックアップ、リストア、リサイズ)
・$0.25/hour で始められ、最大2PBのデータを扱うことができる
・ノードタイプの選択
・DC1ノードタイプ:SSD:160GB〜326TBでスケール(パフォーマンスへの負荷が高いワークロード向け)
・DS2ノードタイプ:HDD:2TB〜2PBでスケール(大容量データのワークロード向け)
・継続的な差分バックアップ
・コンピューティングノードのクラスター間コピー
・継続的にAmazon S3にバックアップし、S3側でもクロスリージョンでバックアップ
・Streaming Restore
・堅固なフォールトトレランス
・ディスク単位の障害 → ノード単位 → ネットワーク単位 → リージョン単位(ディザスタリカバリ)
・使った分だけお支払い
利用例とまとめ(Slide 54-74/74)
※ 長くなってきましたので、利用例は大幅に割愛します。(詳細はスライドに)
・利用例:EC2上のデータベースをフルマネージドデータベースに移行
・期待したこと:費用削減、オペレーションの負担軽減、パフォーマンスの向上
・特徴:全てのフルマネージドDBサービスを全て利用
・結果:分析コストを40%低減、スケールがより簡単に(1億ものデバイスに対応するため)、2桁(millisec?)レイテンシのAPIレスポンスを保証
++ 採用方針も変わった
・まとめ
・AWSフルマネージドデータベースの利点
・インストール、パッチ、アップデートをAWSに任せられる
・サービスの成長に合わせて簡単にスケール
・使った分だけお支払い。前払い費用なし
・他のAWSサービスとの組み合わせが容易
さいごに
AWSフルマネージドデータベースのセッションをご紹介しました。日々の業務で全てのサービスを触る機会はなかなかありませんので、改めて要点を確認できてよかったかと思います。
それではー。